import { topCategory } from '@/api/constants';
import { findCateGory } from '@/api/category';
// 分类模块
export default {
	namespaced: true,
	state() {
		return {
			// 分类信息集合,需要依赖topCateGory重新设置，包证初始化有数据，不白屏
			list: topCategory.map((item) => ({ name: item }))
		};
	},
	// 修改分类函数
	mutations: {
		setList(state, payload) {
            state.list = payload;
		},
		//定义show和hide函数控制当前分类的二级分类显示 隐藏
		show(state, id) {
			const currCategory = state.list.find((item) => item.id === id);
			currCategory.open = true;
		},
		hide(state, id) {
			const currCategory = state.list.find((item) => item.id === id);
			currCategory.open = false;
        }
	},
	// 获取分类函数
	actions: {
		async getList({ commit }) {
			// 获取分类数据
			const data = await findCateGory();
			// 给每个分类添加控制二级分类显示隐藏的数据
			data.result.forEach((item) => {
				item.open = false;
			});
			//修改分类数据
            commit('setList', data.result);
		}
	}
};
